#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n, m;
    cin >> n >> m;
    string arrN;
    string arrM;
    getchar();
    while (n--)
    {
        arrN.push_back(getchar());
    }
    getchar();
    while (m--)
    {
        arrM.push_back(getchar());
    }

    sort(arrM.begin(), arrM.end());
    int i = 0, j = 0;
    string s1;
    for (i = 0, j = 0; i != arrN.size() && j != arrM.size(); )
    {
        if (arrN[i] < arrM[j])
        {
            s1.push_back(arrN[i++]);
        }
        else
        {
            s1.push_back(arrM[j++]);
        }
    }
    while (i != arrN.size() || j != arrM.size())
    {
        if (i != arrN.size())
        {
            s1.push_back(arrN[i++]);
        }
        else
        {
            s1.push_back(arrM[j++]);
        }
    }

    for (auto& e : s1)
    {
        cout << e;
    }

    return 0;
}